ssh 提供了一种优雅且灵活的方式管理多个 ssh 会话,就是利用 ssh 的用户配置文件 config
-
简介
-
~/.ssh/config 文件格式(此处配置两个 ssh 会话:空行隔开)
Host test_1
HostName 192.168.88.120
Port 22
User username
IdentityFile ~/.ssh/test_1
Host test_1
HostName 192.168.88.121
Port 22
User username
IdentityFile ~/.ssh/test_2
Host *
ServerAliveInterval 30
TCPKeepAlive yes
-
使用方法
直接执行:ssh test_1
-
配置详解
-
加密文件生成
rsa加密方式,在.ssh路径下执行:ssh-keygen -t rsa
其中询问秘钥生成位置:test_1
其中询问是否设置密码:直接回车(不设置密码)
-
服务器端公钥配置
把生成的公钥test_1.pub上传至服务器端~/.ssh
scp test_1.pub username@192.168.88.120:~/.ssh
把服务器端公钥test_1.pub内容追加至authorized_keys(没有则新建)
cat test_1.pub >> authorized_keys
-
如果不能自动无密码登陆,则修改/etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
-
注意事项
-
第一次登陆会询问:远程服务端的指纹是:XXX,是否确定继续登陆
-
用密钥的方式连接服务器是需要服务器上的 ssh 支持的,需要 ssh 的配置文件(默认是在 etc/ssh/sshd_config)里的 PubkeyAuthentication 设置成 yes
-
服务器端最好设下 .ssh 目录权限为 700,authorized_keys 权限为 600